package com.forekonw.deom1;

import java.util.Scanner;

/**
 * 1.算数运算符+ - * / % ++  --
 * ++   --    表示自增或者自减，算数运算符，使用方法：可以在变量前后来使用
 * 例如
 * a++   先参与运算，然后自增加1
 * ++a  | a--   --a
 *
 *
 * 2.赋值运算符 =       复合赋值运算符 +=    -=    *=    /=    %=   例如 a+=b  --->   a= a + b
 *
 * 3.关系运算符（比较）  >   >=   <   <=   !=(不等于)   == (恒等)（一个是赋值，两个是比较）  例如：a> b  表达式的最终结果为boolean类型
 *
 * 4.逻辑运算符和表达式  &&（与）  ||（或）  ！（非）  -------->短路运算符
 *  运算规则： a&&b  只有a  b 同时为true的时候，最后的结果为true
 *              a||b  a 和  b 只要有一个为true   最后结果为true
 *              !a  !b  取反
 * 5.三目条件运算符（三元运算符）  例如 int x = （逻辑运算）？a : b  注意：a b x 的类型一定要相同。
 */

public class OperatorDemo {
    public static void main(String[] args) {


        //如何接收用户的输入
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int i1 = input.nextInt();  //从控制台接收用户输入的数据，并赋值给i1。
        char z = ( i1 % 2 ==0)?'是':'否';
        System.out.println(z);


        int a1 = 3;

        int a2 = 5;
        boolean isRight = a1> a2;   //常用写法
        System.out.println( isRight);
        System.out.println(a1 >= a2);
//        System.out.println(a1 < a2);
//        System.out.println(a1 <= a2);
//        System.out.println(a1 != a2);

        boolean aa = true;
        boolean bb = false;
        boolean cc = aa||bb;
        System.out.println(cc);



        int a = 5;
        int b = 2;
        int c = 1;

        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a / b);
        System.out.println(a % b);
        int d = c++;  //先将c的值赋值给d，然后c自增加1。
        System.out.println(d);
        System.out.println(c);
        int m = ++c; //c先自增加1,然后在参与运算
        System.out.println(m);
        System.out.println(c);
        int e = 12;
        int f = 13;
        int g = 14;
        int k = (e++)+(--e)+(f++)+(--g);
        System.out.println(k);

        int a3 = 3;
        int b1 = 5;
//        System.out.println(b1 += a3);//b1 = b1+a3
        System.out.println(b1 -= a3);//b1 = b1-a3
//        System.out.println(b1 *= a3);//b1 = b1*a3
//        System.out.println(b1 /= a3);//b1 = b1/a3
//        System.out.println(b1 %= a3);//b1 = b1%a3


        short s = 35;
        s+=1;//如果s = s + 1 （报错） s=(short) (s+1) 手动强制类型转换   +=他可以自动处理类型转换问题



//        double d1 = 10.0;
//        double d2 = 3.0;
//
//        System.out.println(d1 / d2);

        //短路   如果能通过第一个表达式的结果判断出最终结果的话，name第二个表达式将不再执行了
        //企业笔试题   & 与&& 的区别： &（位与）、&&（短路与）
        int i = 5;
        boolean x =(i++ > 5) &&(++i < 6);
        System.out.println(x);
        System.out.println(i);



    }
}
